home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Magazine / Morphos / GCC / ppc-amigaos / include / float.h < prev    next >
C/C++ Source or Header  |  1997-04-14  |  5KB  |  124 lines

  1. /* float.h */
  2. #ifndef _FLOAT_H___
  3. #define _FLOAT_H___
  4. /* Produced by enquire version 4.3, CWI, Amsterdam */
  5.  
  6.    /* Radix of exponent representation */
  7. #undef FLT_RADIX
  8. #define FLT_RADIX 2
  9.    /* Number of base-FLT_RADIX digits in the significand of a float */
  10. #undef FLT_MANT_DIG
  11. #define FLT_MANT_DIG 24
  12.    /* Number of decimal digits of precision in a float */
  13. #undef FLT_DIG
  14. #define FLT_DIG 6
  15.    /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
  16. #undef FLT_ROUNDS
  17. #define FLT_ROUNDS 0
  18.    /* Difference between 1.0 and the minimum float greater than 1.0 */
  19. #undef FLT_EPSILON
  20. #define FLT_EPSILON 1.19209290e-07F
  21.    /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
  22. #undef FLT_MIN_EXP
  23. #define FLT_MIN_EXP (-125)
  24.    /* Minimum normalised float */
  25. #undef FLT_MIN
  26. #define FLT_MIN 1.17549435e-38F
  27.  
  28. /* *** WARNING: Possibly bad output from printf above */
  29. /*     expected value around 1.17549435e-38, bit pattern:
  30.     00000000 10000000 00000000 00000000 */
  31. /*     sscanf gave           1.17549421e-38, bit pattern:
  32.     00000000 01111111 11111111 11111111 */
  33. /*     difference= 1.40129846e-45 */
  34.  
  35.    /* Minimum int x such that 10**x is a normalised float */
  36. #undef FLT_MIN_10_EXP
  37. #define FLT_MIN_10_EXP (-37)
  38.    /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
  39. #undef FLT_MAX_EXP
  40. #define FLT_MAX_EXP 128
  41.    /* Maximum float */
  42. #undef FLT_MAX
  43. #define FLT_MAX 3.40282347e+38F
  44.    /* Maximum int x such that 10**x is a representable float */
  45. #undef FLT_MAX_10_EXP
  46. #define FLT_MAX_10_EXP 38
  47.  
  48.    /* Number of base-FLT_RADIX digits in the significand of a double */
  49. #undef DBL_MANT_DIG
  50. #define DBL_MANT_DIG 53
  51.    /* Number of decimal digits of precision in a double */
  52. #undef DBL_DIG
  53. #define DBL_DIG 15
  54.    /* Difference between 1.0 and the minimum double greater than 1.0 */
  55. #undef DBL_EPSILON
  56. #define DBL_EPSILON 2.2204460492503131e-16
  57.    /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
  58. #undef DBL_MIN_EXP
  59. #define DBL_MIN_EXP (-1021)
  60.    /* Minimum normalised double */
  61. #undef DBL_MIN
  62. #define DBL_MIN 2.2250738585072014e-308
  63.    /* Minimum int x such that 10**x is a normalised double */
  64. #undef DBL_MIN_10_EXP
  65. #define DBL_MIN_10_EXP (-307)
  66.    /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
  67. #undef DBL_MAX_EXP
  68. #define DBL_MAX_EXP 1024
  69.    /* Maximum double */
  70. #undef DBL_MAX
  71. #define DBL_MAX 1.7976931348623157e+308
  72.  
  73. /* *** WARNING: Possibly bad output from printf above */
  74. /*     expected value around 1.7976931348622820e308, bit pattern:
  75.     01111111 11101111 11111111 11111111 11111111 11111111 11111111 11111111 */
  76. /*     sscanf gave           1.7976931348623155e+308, bit pattern:
  77.     01111111 11101111 11111111 11111111 11111111 11111111 11111111 11111110 */
  78. /*     difference= 1.9958403095347198e+292 */
  79.  
  80.    /* Maximum int x such that 10**x is a representable double */
  81. #undef DBL_MAX_10_EXP
  82. #define DBL_MAX_10_EXP 308
  83.  
  84.    /* Number of base-FLT_RADIX digits in the significand of a long double */
  85. #undef LDBL_MANT_DIG
  86. #define LDBL_MANT_DIG 53
  87.    /* Number of decimal digits of precision in a long double */
  88. #undef LDBL_DIG
  89. #define LDBL_DIG 15
  90.    /* Difference between 1.0 and the minimum long double greater than 1.0 */
  91. #undef LDBL_EPSILON
  92. #define LDBL_EPSILON 2.2204460492503131e-16L
  93.    /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
  94. #undef LDBL_MIN_EXP
  95. #define LDBL_MIN_EXP (-1021)
  96.    /* Minimum normalised long double */
  97. #undef LDBL_MIN
  98. #define LDBL_MIN 2.2250738585072014e-308L
  99.    /* Minimum int x such that 10**x is a normalised long double */
  100. #undef LDBL_MIN_10_EXP
  101. #define LDBL_MIN_10_EXP (-307)
  102.    /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
  103. #undef LDBL_MAX_EXP
  104. #define LDBL_MAX_EXP 1024
  105.    /* Maximum long double */
  106. #undef LDBL_MAX
  107. #define LDBL_MAX 1.7976931348623157e+308L
  108.  
  109. /* *** WARNING: Possibly bad output from printf above */
  110. /*     expected value around 1.7976931348622820e308, bit pattern:
  111.     01111111 11101111 11111111 11111111 11111111 11111111 11111111 11111111 */
  112. /*     sscanf gave           1.7976931348623155e+308, bit pattern:
  113.     01111111 11101111 11111111 11111111 11111111 11111111 11111111 11111110 */
  114. /*     difference= 1.9958403095347198e+292 */
  115.  
  116.    /* Maximum int x such that 10**x is a representable long double */
  117. #undef LDBL_MAX_10_EXP
  118. #define LDBL_MAX_10_EXP 308
  119.  
  120. #endif /*  _FLOAT_H___ */
  121.  
  122. /* For hints on dealing with the 3 problems above
  123.    see the section 'TROUBLESHOOTING' in the file /ade-src/fsf/gcc/./enquire.c */
  124.